import Vue from 'vue'
import VueRouter from 'vue-router'

import Login from '../pages/Login.vue'
import Register from '../pages/Register.vue'
import User from '../pages/User.vue'
import Edit from '../pages/Edit.vue'

// 在模块化化工程中  必须要通过 Vue.use()  明确的安装路由功能
Vue.use(VueRouter)

const router = new VueRouter({
  routes: [
    { path: '/login', name: 'login', component: Login },
    { path: '/register', name: 'register', component: Register },
    { path: '/user', name: 'user', component: User },
    { path: '/edit', name: 'edit', component: Edit }
  ]
})

// 参数1 : to 要去哪的路由对象
// 参数2 : from 从哪来的路由对象
// 参数3 :next  是否放行
//       next() 放行 你访问哪里就去哪里
//       next(false) 不放行
//       next('/login') 放行 => login
router.beforeEach((to, from, next) => {
  // console.log('守卫:', to.path, from.path)
  // next('/login')
  const token = localStorage.getItem('token')

  // 如果去个人中心 必须要登录
  if (to.path == '/user' && !token) {
    next('/login')
  } else {
    next()
  }
})

export default router
